home *** CD-ROM | disk | FTP | other *** search
- //
- // Cassandra.h
- // Copyright (c) 1988, 1989, 1990 by Jiro Nakamura
- // All rights reserved
- //
- // Interface definition for class Cassandra.
- // Cassandra is the head manager. It takes calls from the Workspace Manager
- // such as Hide App, etc. and passes them down to the other classes that
- // need them (such as Overview, etc.). It also manages the alarm sounding
- // and panel raising routine.
- //
- // Comments on Methods are in the source file Cassandra.m
- //
- // RCS Information
- // Revision Number-> $Revision: 2.11 $
- // Last Revised-> $Date: 91/12/20 15:36:10 $
- //
-
- #import <appkit/Application.h>
- #import <dpsclient/dpsclient.h> // For DPSTimedEntry, used below
- #import <soundkit/Sound.h>
- #import "Calculator.h"
- #import <time.h>
- #import "Clock.h"
- #import "Event.h"
-
- @interface Cassandra:Application
- {
- char lockFile[128]; // Lockfile
- BOOL alarmFree, // Tells if the alarm
- // is free or not
- queueModified, // Does the queue need
- // Updating?
- saveScreen; // Do we need to screen save?
-
-
- EFileLink snooze; // The record number of the
- // Snoozing event
-
- float oldVolumeLeft, oldVolumeRight; // Previous volume levels
-
- double secondsUntilEvent; // Seconds until the next
- // event
-
- struct tm now; // The time right now
-
- Sound *soundfile; // Our alarm sound
-
- DPSTimedEntry alarmTE; // The alarm timed entry
-
- // These are set by IB
-
- id eventLog; // Other classes
- id global;
- id notepad;
- id overview;
- id today;
- id week;
-
- id addEventPanel; // UI objects
- id clockView;
- id editEventPanel;
-
- Panel *infoPanel;
- Panel *helpPanel;
- Calculator *calculatorWindow;
-
-
- id alarmPanel;
- id alarmPanelTime;
- id alarmPanelMessage;
- id alarmPanelNextEvent;
- id snoozeButton;
- id okButton;
- }
-
- // See Cassandra.m for descriptions of what these methods
- // actually do.
-
- + new;
- - appDidInit: app; // Sent by WM. We have initialized
- - appDidHide; // Sent by WM. We have hidden
- - appDidUnhide; // Sent by WM. We have unhidden
- - appPowerOffIn: (int) ms // Sent by WM. We are powering off
- andSave: (int)aFlag; // or logging off
-
- - cassandraWillQuit: sender; // Cassandra about to quit.
- // Save window positions and unlink
- // lockFile
-
- - info: sender; // Main menu->Info Bring up info panel
- - help: sender; // Main menu->help Bring up help panel
- - calculator: sender; // Bring up calculator
-
- - quit: sender; // Main menu->quit
- - closeKeyWindow: sender; // Main menu->window->close
- - saveKeyWindow: sender; // Main menu->window->save
- - miniaturizeKeyWindow: sender; // Main menu->window->miniaturize
-
- - runPageLayout: sender;
- - print: sender;
-
- - resetCancel: sender; // Main menu->modify event->reset event
-
- - queueDidChange: sender; // The queue has changed. Alert
- // other objects
- - defaultsDidChange: sender; // The defaults have changed
- // alert other objects
- - updateClockViewMessage: sender; // Update the clockView message
- // from the queue
-
- - tick: sender; // Message from analog clock
- // everytime it ticks
-
- - screenDimmed: sender; // Our screen has dimmed
- - screenUndimmed: sender; // Our screen has undimmed
-
- - alarmStart: sender; // Start up the alarm
- - playAlarm: (char *) alarmSound; // play alarm sound
- - alarmSnooze: sender; // Hit snooze
- - alarmStop: sender; // Stop the alarm
- - alarmReset: sender; // Reset it for the next event
- - nextSnoozeAlarm; // Find the next alarm time while
- // handling snoozes
- - timerUpdate: sender; // Set up the alarm timer
- - didPlay: sender; // The alarm has played
- - hadError: sender; // Error in playing alarm
- - startAlarmTimedEntry: (double)fireWhen; // Start alarmTimer
- - stopAlarmTimedEntry; // Stop the timer
-
- - global; // returns global object
- @end
-